Handle env vars in a case-preserving, case-insensitive manner on Windows #574
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is a follow-up to #570 and attempts to tackle Windows environment variable shenanigans for all environment variables and not just
PATH
. The main change is the introduction ofEnvMap
, a class that behaves as a case-insensitive, case-preserving map on Windows and a regular case-sensitive map on other platforms. This class is used inlib/git-environment.ts
to handle environment variables in a consistent manner across platforms.I've also bumped Prettier to 3.3.1 so it can handle my syntax and specified the version of TypeScript used by Visual Studio Code in
.vscode/settings.json
because I was building this on an old VM with an old VS code and noticed that it wouldn't complete properly.